Generally, media streams are encoded or compressed in a certain encoding format prior to transmission of the media streams over a network. Typical encoding for hypertext transfer protocol (HTTP) based adaptive streaming technology requires producing multiple bitrate streams from a single input media to allow adaptation to changing bandwidth during content delivery (e.g., dynamic adaptive streaming over HTTP or DASH). Further, for end devices having varying screen resolutions, the encoding service produces media streams of multiple spatial resolutions, such as a quarter video graphics array (QVGA), a half-size video graphics array (HVGA), a video graphics array (VGA), a wide video graphics array (WVGA), 720p, 1080p/i, and so on. The process of encoding can be performed using on a public cloud infrastructure or a private cloud infrastructure using software-based or custom hardware appliances.
Given the slew of output media streams to be produced from a single input media, it is important to consider an efficient means of encoding. Newer video coding standards, such as high efficiency video coding (HEVC) require a much higher computational complexity compared to older video coding standards, and, therefore, efficient encoding becomes even more critical to help keep encoding costs lower. There are existing methods that leverage the information in the input encoded media bit-stream to influence the encoding. However, as the input media stream is at a high resolution, the information contained in it is not that useful for coding the lower resolution streams. Also, given the coding tool differences between input formats and the output formats, optimal rate-distortion performance with the output formats may not be possible with re-use. For example, coding tools in standards such as H.264 or HEVC (High Efficiency Video Coding) have features such as, weighted prediction, hierarchical group of pictures (GOP) structure, multiple reference motion estimation (ME), and the like, whereas older standards such as, MPEG-2 (Moving Pictures Expert Group-2) do not have the above mentioned features. While some encoders (such as the open-source x264 encoder) leverage first pass information in terms of look-ahead processing and GOP structure when encoding multiple bitrate streams at a given spatial resolution, they still treat each encoding instance independently and repeat a lot of encoding parameters estimation process for each instance, which results in nearly a linear increase in computational complexity with the number of output bitrates.
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.